print('\033[0:33m 姓名:袁兆华 学号:20190751028\033[m')
''' 1. 统计数字出现的次数
    1)生成一个列表，列表内有随机生成100个整数；
    2)数字范围[20,100]；
    3)输出所有不同的数字及其每个数字重复的次数
  '''
from random import randint

print("1.第一题")
lst = []
for i in range(100):
    lst.append(randint(20, 100))
num = set(lst)
count_num = {}
for i in num:
    count_num[i] = lst.count(i)
print(count_num)
print()

print('2.第二题')
''' 2. 使用集合运算完成以下任务
       经理有: 曹操，刘备，周瑜
       技术员有: 曹操，周瑜，张飞，赵云
    求:
     (1)既是经理也是技术员的有谁?
     (2)是经理，但不是技术员的有谁？
     (3)是技术人员，但不是经理的都有谁?
     (4)张飞是经理吗？
     (5)身兼一职的人都有谁?
     (6)经理和技术员共有几个人?
'''
manager = {'曹操', '刘备', '周瑜'}
technologist = {'曹操', '周瑜', '张飞', '赵云'}
print("(1)既是经理又是技术员的是:", manager & technologist)
print("(2)是经理，但不是技术员的有谁:", manager - technologist)
print("(3)是技术人员，但不是经理的都有:", technologist - manager)
print("(4)张飞是经理吗? 答案:", "张飞" in manager)
print("(5)身兼一职的人都有谁? 答案:", manager ^ technologist)
manager.update(technologist)
print("(6)经理和技术员共有几个人? 答案:", len(manager))
print()

print('3 第三题')
''' 3. 字典与函数
       有商品编号列表和商品数量如下：
       product=["010105","010106","010107","010108","010109","010110","010111"]
       num=[12,13,11,9,6,17,8]
       (1)用商品编号列表和商品数量列表生成字典。（以商品编号为键，商品数量为值）
       (2)编写函数dec()实现功能：提供一个商品编号，判断该商品是否在字典中存在，如果字典中有该商品，
       则对修改该商品的数量，在其原有数量的基础上减少m个；如果没有该商品，则输出提示"该商品不存在!"。
'''


def dec():
    product = ["010105", "010106", "010107", "010108", "010109", "010110", "010111"]
    item_num = [12, 13, 11, 9, 6, 17, 8]
    d = dict(zip(product, item_num))
    print(d)
    number = input("请输入您要查询的商品编号:")
    flag = False
    for item in d:
        if item == number:
            flag = True
            sub_num = int(input("请输入您要删减的商品数量:"))
            print("您删减商品之后的数量剩余:", d.get(item) - sub_num)
            break
    if not flag:
        print("该商品可能不存在,或者系统问题!!!")


if __name__ == '__main__':
    dec()
